home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / nt / k5426-d5.zip / OEMSETUP.INF < prev    next >
INI File  |  1994-01-10  |  22KB  |  615 lines

  1. ;-----------------------------------------------------------------------
  2. ; OPTION TYPE
  3. ; -----------
  4. ; This identifies the Option type we are dealing with.  The different
  5. ; possible types are:
  6. ;
  7. ; COMPUTER, VIDEO, MOUSE, KEYBOARD, LAYOUT, SCSI, PRINTER, ...
  8. ;-----------------------------------------------------------------------
  9.  
  10. [Identification]
  11.     OptionType = VIDEO
  12.  
  13. ;-----------------------------------------------------------------------
  14. ; LANGUAGES SUPPORTED
  15. ; -------------------
  16. ;
  17. ; The languages supported by the OEM INF, For every language supported
  18. ; we need to have a separate text section for every displayable text
  19. ; section.
  20. ;
  21. ;-----------------------------------------------------------------------
  22.  
  23. [LanguagesSupported]
  24.     ENG
  25.  
  26. ;-----------------------------------------------------------------------
  27. ; OPTION LIST
  28. ; -----------
  29. ; This section lists the OEM Option key names.  These keys are locale
  30. ; independent and used to represent the option in a locale independent
  31. ; manner.
  32. ;
  33. ;-----------------------------------------------------------------------
  34.  
  35. ;
  36. ; Option list order: Option = Miniport driver, BitsPerPel, XResolution, YResolution, VRefresh, Interlaced
  37. ;
  38. ; If you don't want to create a VRefresh or Interlaced value under the service
  39. ; parameters then use the value ""
  40. ;
  41.  
  42. [Options]
  43.     "CLA640x480x4x60"    = cirrus2m, 4, 640,  480, 60, 0
  44.     "CLA640x480x4x72"    = cirrus2m, 4, 640,  480, 72, 0
  45.     "CLA640x480x8x60"    = cirrus2m, 8, 640,  480, 60, 0
  46.     "CLA640x480x8x72"    = cirrus2m, 8, 640,  480, 72, 0
  47.     "CLA800x600x4x56"    = cirrus2m, 4, 800,  600, 56, 0
  48.     "CLA800x600x4x60"    = cirrus2m, 4, 800,  600, 60, 0
  49.     "CLA800x600x4x72"    = cirrus2m, 4, 800,  600, 72, 0
  50.     "CLA800x600x8x56"    = cirrus2m, 8, 800,  600, 56, 0
  51.     "CLA800x600x8x60"    = cirrus2m, 8, 800,  600, 60, 0
  52.     "CLA800x600x8x72"    = cirrus2m, 8, 800,  600, 72, 0
  53.     "CLA1024x768x4x60"   = cirrus2m, 4, 1024, 768, 60, 0
  54.     "CLA1024x768x4x70"   = cirrus2m, 4, 1024, 768, 70, 0
  55.     "CLA1024x768x4x72"   = cirrus2m, 4, 1024, 768, 72, 0
  56.     "CLA1024x768x4x45I"  = cirrus2m, 4, 1024, 768, 45, 1
  57.     "CLA1024x768x8x60"   = cirrus2m, 8, 1024, 768, 60, 0
  58.     "CLA1024x768x8x70"   = cirrus2m, 8, 1024, 768, 70, 0
  59.     "CLA1024x768x8x72"   = cirrus2m, 8, 1024, 768, 72, 0
  60.     "CLA1024x768x8x45I"  = cirrus2m, 8, 1024, 768, 45, 1
  61.     "CLA1280x1024x4x45I" = cirrus2m, 4, 1280, 1024, 45, 1
  62.     "CLA1280x1024x8x45I" = cirrus2m, 8, 1280, 1024, 45, 1
  63.  
  64. ;
  65. ; This maps detected options into the options we support
  66. ;
  67. ; Format: DetectedOption = MappedOption
  68. ;
  69.  
  70. [MapOfOptions]
  71.     "VGA"                       = "VGA"
  72.     "COMPAQ AVGA"               = "VGA"
  73.     "COMPAQ AGB"                = "VGA"
  74.     "8514 MONITOR UNKNOWN"      = "VGA"
  75.     "8514 VGA MONITOR"          = "VGA"
  76.     "8514 8503 MONO"            = "VGA"
  77.     "8514 8514 GAD"             = "VGA"
  78.     "GENOA VGA"                 = "VGA"
  79.     "VIDEO7 VGA DRAM"           = "VIDEO7 VGA VRAM 640x480x4"
  80.     "VIDEO7 VGA VRAM"           = "VIDEO7 VGA VRAM 640x480x4"
  81.     "TRIDENT VGA"               = "VGA"
  82.     "TRIDENT VGA 9100"          = "VGA"
  83.     "PARADISE VGA"              = "VGA"
  84.     "PARADISE VGA PROM"         = "VGA"
  85.     "PARADISE VGA CHIP 1F"      = "VGA"
  86.     "ATI VGA"                   = "VGA"
  87.     "ATI VGA WONDDER3"          = "VGA"
  88.     "TSENGLAB VGA ET3000"       = "VGA"
  89.     "TSENGLAB VGA ET4000"       = "VGA"
  90.     "CIRRUS ACCELERATOR"        = "CLA640x480x4x60"
  91.     "CIRRUS VGA 610-620 REVC"   = "VGA"
  92.     "XGA"                       = "XGA 640x480x8"
  93.     "DELL DGX"                  = "DELL DGX 640x480x8"
  94.     "S3 VGA"                    = "S3 VGA 640x480x8"
  95.     "PRODESIGNER II"            = "TSENGLAB VGA ET4000 640x480x4x60"
  96.  
  97.  
  98. ;
  99. ; Order of the information:
  100. ;
  101. ; Port driver = Type, Group, ErrorControl, Tag, InstalledDisplay, VgaCompatible( 0/1 ), EventMessageFile, TypesSupported
  102. ;
  103.  
  104. [MiniportDrivers]
  105.     cirrus2m   = !SERVICE_KERNEL_DRIVER, Video, !SERVICE_ERROR_NORMAL, 16, {clvga16,clblt256}, 1 , %SystemRoot%\System32\IoLogMsg.dll , 7
  106.  
  107.  
  108. ;-----------------------------------------------------------------------
  109. ; OPTION TEXT SECTION
  110. ; -------------------
  111. ; These are text strings used to identify the option to the user.  There
  112. ; are separate sections for each language supported.  The format of the
  113. ; section name is "OptionsText" concatenated with the Language represented
  114. ; by the section.
  115. ;
  116. ;-----------------------------------------------------------------------
  117.  
  118. [OptionsTextENG]
  119.     "CLA640x480x4x60"   = "GD5426/28 v1.41  640x480, 16 colors 60Hz"
  120.     "CLA640x480x4x72"   = "GD5426/28 v1.41  640x480, 16 colors 72Hz"
  121.     "CLA640x480x8x60"   = "GD5426/28 v1.41  640x480, 256 colors 60Hz"
  122.     "CLA640x480x8x72"   = "GD5426/28 v1.41  640x480, 256 colors 72Hz"
  123.     "CLA800x600x4x56"   = "GD5426/28 v1.41  800x600, 16 colors 56Hz"
  124.     "CLA800x600x4x60"   = "GD5426/28 v1.41  800x600, 16 colors 60Hz"
  125.     "CLA800x600x4x72"   = "GD5426/28 v1.41  800x600, 16 colors 72Hz"
  126.     "CLA800x600x8x56"   = "GD5426/28 v1.41  800x600, 256 colors 56Hz"
  127.     "CLA800x600x8x60"   = "GD5426/28 v1.41  800x600, 256 colors 60Hz"
  128.     "CLA800x600x8x72"   = "GD5426/28 v1.41  800x600, 256 colors 72Hz"
  129.     "CLA1024x768x4x60"  = "GD5426/28 v1.41  1024x768, 16 colors 60Hz"
  130.     "CLA1024x768x4x70"  = "GD5426/28 v1.41  1024x768, 16 colors 70Hz"
  131.     "CLA1024x768x4x72"  = "GD5426/28 v1.41  1024x768, 16 colors 72Hz"
  132.     "CLA1024x768x4x45I" = "GD5426/28 v1.41  1024x768, 16 colors Interlaced"
  133.     "CLA1024x768x8x60"  = "GD5426/28 v1.41  1024x768, 256 colors 60Hz"
  134.     "CLA1024x768x8x70"  = "GD5426/28 v1.41  1024x768, 256 colors 70Hz"
  135.     "CLA1024x768x8x72"  = "GD5426/28 v1.41  1024x768, 256 colors 72Hz"
  136.     "CLA1024x768x8x45I" = "GD5426/28 v1.41  1024x768, 256 colors Interlaced"
  137.     "CLA1280x1024x4x45I" = "GD5426/28 v1.41  1280x1024, 16 colors Interlaced"
  138.     "CLA1280x1024x8x45I" = "GD5426/28 v1.41  1280x1024, 256 colors Interlaced"
  139.  
  140.  
  141.  
  142. ;---------------------------------------------------------------------------
  143. ; 1. Identify
  144. ;
  145. ; DESCRIPTION:   To verify that this INF deals with the same type of options
  146. ;                as we are choosing currently.
  147. ;
  148. ; INPUT:         None
  149. ;
  150. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
  151. ;                $($R1): Option Type (COMPUTER ...)
  152. ;                $($R2): Diskette description
  153. ;---------------------------------------------------------------------------
  154.  
  155. [Identify]
  156.     ;
  157.     ;
  158.     read-syms Identification
  159.  
  160.     set Status     = STATUS_SUCCESSFUL
  161.     set Identifier = $(OptionType)
  162.     set Media      = #("Source Media Descriptions", 1, 1)
  163.  
  164.     Return $(Status) $(Identifier) $(Media)
  165.  
  166.  
  167.  
  168. ;------------------------------------------------------------------------
  169. ; 2. ReturnOptions:
  170. ;
  171. ; DESCRIPTION:   To return the option list supported by this INF and the
  172. ;                localised text list representing the options.
  173. ;
  174. ;
  175. ; INPUT:         $($0):  Language used. ( ENG | FRN | ... )
  176. ;
  177. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL |
  178. ;                                STATUS_NOLANGUAGE
  179. ;                                STATUS_FAILED
  180. ;
  181. ;                $($R1): Option List
  182. ;                $($R2): Option Text List
  183. ;------------------------------------------------------------------------
  184.  
  185. [ReturnOptions]
  186.     ;
  187.     ;
  188.     set Status        = STATUS_FAILED
  189.     set OptionList     = {}
  190.     set OptionTextList = {}
  191.  
  192.     ;
  193.     ; Check if the language requested is supported
  194.     ;
  195.     set LanguageList = ^(LanguagesSupported, 1)
  196.     Ifcontains(i) $($0) in $(LanguageList)
  197.         goto returnoptions
  198.     else
  199.         set Status = STATUS_NOLANGUAGE
  200.         goto finish_ReturnOptions
  201.     endif
  202.  
  203.     ;
  204.     ; form a list of all the options and another of the text representing
  205.     ;
  206.  
  207. returnoptions = +
  208.     set OptionList     = ^(Options, 0)
  209.     set OptionTextList = ^(OptionsText$($0), 1)
  210.     set Status         = STATUS_SUCCESSFUL
  211.  
  212. finish_ReturnOptions = +
  213.     Return $(Status) $(OptionList) $(OptionTextList)
  214.  
  215.  
  216.  
  217. ;---------------------------------------------------------------------------
  218. ; MapToSupportedOption
  219. ;
  220. ; DESCRIPTION:   To map a hardware detected option to the NT Supported
  221. ;                option which represents it.
  222. ;
  223. ; INPUT:         $($0): Option
  224. ;
  225. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
  226. ;                $($R1): Mapped Option
  227. ;
  228. ;---------------------------------------------------------------------------
  229.  
  230. [MapToSupportedOption]
  231.     ;
  232.     set Status = STATUS_FAILED
  233.     set MappedOption = $($0)
  234.  
  235.     ;
  236.     ; If the option is one we can support using one of our standard options
  237.     ; then map it to the standard option else map it to the default option
  238.     ; which is VGA.
  239.     ;
  240.  
  241.     set OptionList = ^(MapOfOptions, 0)
  242.     ifcontains $($0) in $(OptionList)
  243.         set MappedOption = #(MapOfOptions, $($0), 1)
  244.     else
  245.         set MappedOption = "VGA"
  246.     endif
  247.  
  248.     set Status = STATUS_SUCCESSFUL
  249.     Return $(Status) $(MappedOption)
  250.  
  251.  
  252.  
  253. [ServicesEntry]
  254.     CurrentEntry = "" ? $(!LIBHANDLE) GetDevicemapValue Video \Device\Video0
  255.  
  256.  
  257. ;
  258. ; InstallOption:
  259. ;
  260. ; FUNCTION:  To copy files representing Options
  261. ;            To configure the installed option
  262. ;            To update the registry for the installed option
  263. ;
  264. ; INPUT:     $($0):  Language to use
  265. ;            $($1):  OptionID to install
  266. ;            $($2):  SourceDirectory
  267. ;            $($3):  AddCopy  (YES | NO)
  268. ;            $($4):  DoCopy   (YES | NO)
  269. ;            $($5):  DoConfig (YES | NO)
  270. ;
  271. ; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
  272. ;                            STATUS_NOLANGUAGE |
  273. ;                            STATUS_USERCANCEL |
  274. ;                            STATUS_FAILED
  275. ;
  276.  
  277. [InstallOption]
  278.  
  279.     ;
  280.     ; Set default values for
  281.     ;
  282.     set Status       = STATUS_FAILED
  283.     set DrivesToFree = {}
  284.  
  285.     ;
  286.     ; extract parameters
  287.     ;
  288.     set Option   = $($1)
  289.     set SrcDir   = $($2)
  290.     set AddCopy  = $($3)
  291.     set DoCopy   = $($4)
  292.     set DoConfig = $($5)
  293.  
  294.     ;
  295.     ; Check if the language requested is supported
  296.     ;
  297.     set LanguageList = ^(LanguagesSupported, 1)
  298.     Ifcontains(i) $($0) in $(LanguageList)
  299.     else
  300.         set Status = STATUS_NOLANGUAGE
  301.         goto finish_InstallOption
  302.     endif
  303.     read-syms Strings$($0)
  304.  
  305.     ;
  306.     ; check to see if Option is supported.
  307.     ;
  308.  
  309.     set OptionList = ^(Options, 0)
  310.     ifcontains $(Option) in $(OptionList)
  311.     else
  312.         goto finish_InstallOption
  313.     endif
  314.     set OptionList = ""
  315.  
  316.     ;
  317.     ; Option has been defined already
  318.     ;
  319.     set MiniportDriver    = #(Options, $(Option), 1)
  320.     set BitsPerPel        = #(Options, $(Option), 2)
  321.     set XResolution       = #(Options, $(Option), 3)
  322.     set YResolution       = #(Options, $(Option), 4)
  323.     set VRefresh          = #(Options, $(Option), 5)
  324.     set Interlaced        = #(Options, $(Option), 6)
  325.  
  326.     set Type              = $(#(MiniportDrivers, $(MiniportDriver), 1))
  327.     set Group             =   #(MiniportDrivers, $(MiniportDriver), 2)
  328.     set ErrorControl      = $(#(MiniportDrivers, $(MiniportDriver), 3))
  329.     set Tag               =   #(MiniportDrivers, $(MiniportDriver), 4)
  330.     set InstalledDisplays =   #(MiniportDrivers, $(MiniportDriver), 5)
  331.     set VgaCompatible     =   #(MiniportDrivers, $(MiniportDriver), 6)
  332.     set EventMessageFile  =   #(MiniportDrivers, $(MiniportDriver), 7)
  333.     set TypesSupported    =   #(MiniportDrivers, $(MiniportDriver), 8)
  334.  
  335.     read-syms ServicesEntry
  336.     detect    ServicesEntry
  337.  
  338. installtheoption = +
  339.  
  340.     ;
  341.     ; Code to add files to copy list
  342.     ;
  343.  
  344.     ifstr(i) $(AddCopy) == "YES"
  345.         set DoActualCopy = NO
  346.         set FileToCheck = #(Files-DisplayMiniportDrivers, $(MiniportDriver), 2)
  347.         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\drivers\"$(FileToCheck)
  348.         ifstr(i) $(STATUS) == NO
  349.             set DoActualCopy = YES
  350.             goto addfiles
  351.         endif
  352.         ForListDo $(InstalledDisplays)
  353.             set FileToCheck = #(Files-DisplayDLLs, $($), 2)
  354.             LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\"$(FileToCheck)
  355.             ifstr(i) $(STATUS) == NO
  356.                 set DoActualCopy = YES
  357.             endif
  358.         EndForListDo
  359.  
  360. addfiles = +
  361.         ifstr(i) $(DoActualCopy) == NO
  362.             shell "subroutn.inf" DriversExist $($0) $(String1)
  363.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  364.                 Debug-Output "VIDEO.INF: shelling DriversExist failed"
  365.                 goto finish_InstallOption
  366.             endif
  367.  
  368.             ifstr(i) $($R0) == STATUS_CURRENT
  369.             else-ifstr(i) $($R0) == STATUS_NEW
  370.                 set DoActualCopy = YES
  371.             else-ifstr(i) $($R0) == STATUS_USERCANCEL
  372.                 Debug-Output "VIDEO.INF: User cancelled video installation"
  373.                 goto finish_InstallOption
  374.             else
  375.                 Debug-Output "VIDEO.INF: Error reported in DriversExist routine in SUBROUTN.INF"
  376.                 goto finish_InstallOption
  377.             endif
  378.         endif
  379.  
  380.         ifstr(i) $(DoActualCopy) == YES
  381.  
  382.             shell "subroutn.inf" DoAskSourceEx $(SrcDir) $(String2)
  383.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  384.                 Debug-Output "VIDEO.INF: shelling DoAskSourceEx failed"
  385.                 goto finish_InstallOption
  386.             endif
  387.  
  388.             ifstr(i) $($R0) == STATUS_SUCCESSFUL
  389.                 set SrcDir = $($R1)
  390.                 ifstr(i) $($R2) != ""
  391.                     set DrivesToFree = >($(DrivesToFree), $($R2))
  392.                 endif
  393.             else
  394.                 Debug-Output "VIDEO.INF: User cancelled asking source."
  395.                 goto finish_InstallOption
  396.             endif
  397.  
  398.             install Install-AddCopyOption
  399.             ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
  400.                 Debug-Output "VIDEO.INF: Adding video files to copy list failed"
  401.                 goto finish_InstallOption
  402.             endif
  403.         else
  404.             set DoCopy = NO
  405.         endif
  406.  
  407.     endif
  408.  
  409.     ifstr(i) $(DoCopy) == "YES"
  410.         read-syms ProgressCopy$($0)
  411.         install Install-DoCopyOption
  412.         ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
  413.             Debug-Output "Copying files failed"
  414.             goto finish_InstallOption
  415.         else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
  416.             set Status = STATUS_USERCANCEL
  417.             goto finish_InstallOption
  418.         endif
  419.     endif
  420.  
  421.     ifstr(i) $(DoConfig) == "YES"
  422.  
  423.         ;
  424.         ; first run a privilege check on modifying the setup node
  425.         ;
  426.  
  427.         shell "registry.inf" CheckSetupModify
  428.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  429.             goto finish_InstallOption
  430.         endif
  431.  
  432.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  433.             goto finish_InstallOption
  434.         endif
  435.  
  436.         ;
  437.         ; first make a new video entry, the entry is created automatically
  438.         ; enabled
  439.         ;
  440.  
  441.         set ServiceNode   = $(MiniportDriver)
  442.         set ServiceBinary = %SystemRoot%\System32\drivers\#(Files-DisplayMiniportDrivers, $(MiniportDriver), 2)
  443.  
  444.         set ServicesValues   = { +
  445.                 {Type,           0, $(!REG_VT_DWORD),     $(Type)                  }, +
  446.                 {Start,          0, $(!REG_VT_DWORD),     $(!SERVICE_SYSTEM_START) }, +
  447.                 {Group,          0, $(!REG_VT_SZ),        $(Group)                 }, +
  448.                 {ErrorControl,   0, $(!REG_VT_DWORD),     $(ErrorControl)          }, +
  449.                 {Tag,            0, $(!REG_VT_DWORD),     $(Tag)                   }, +
  450.                 {BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary)         }  +
  451.                 }
  452.  
  453.         set ParametersValues = { +
  454.                 {InstalledDisplayDrivers,     0, $(!REG_VT_MULTI_SZ), $(InstalledDisplays) }, +
  455.                 {VgaCompatible,               0, $(!REG_VT_DWORD),    $(VgaCompatible)     }, +
  456.                 {DefaultSettings.BitsPerPel,  0, $(!REG_VT_DWORD),    $(BitsPerPel)        }, +
  457.                 {DefaultSettings.XResolution, 0, $(!REG_VT_DWORD),    $(XResolution)       }, +
  458.                 {DefaultSettings.YResolution, 0, $(!REG_VT_DWORD),    $(YResolution)       }  +
  459.                 }
  460.  
  461.         ifstr(i) $(VRefresh) != ""
  462.             set VRefreshValue = {DefaultSettings.VRefresh, 0, $(!REG_VT_DWORD), $(VRefresh)}
  463.             set ParametersValues = >($(ParametersValues), $(VRefreshValue))
  464.         endif
  465.  
  466.         ifstr(i) $(Interlaced) != ""
  467.             set InterlacedValue = {DefaultSettings.Interlaced, 0, $(!REG_VT_DWORD), $(Interlaced)}
  468.             set ParametersValues = >($(ParametersValues), $(InterlacedValue))
  469.         endif
  470.  
  471.         set DeviceValues     = {}
  472.         set EventLogValues   = { +
  473.                 {EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
  474.                 {TypesSupported,   0, $(!REG_VT_DWORD),     $(TypesSupported)   }  +
  475.                 }
  476.  
  477.         shell "registry.inf"  MakeServicesEntry $(ServiceNode)      +
  478.                                                 $(ServicesValues)   +
  479.                                                 $(ParametersValues) +
  480.                                                 $(DeviceValues)     +
  481.                                                 $(EventLogValues)   +
  482.                                                 Device0
  483.  
  484.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  485.             Debug-Output "Couldn't execute MakeServicesEntry in registry.inf"
  486.             goto finish_InstallOption
  487.         endif
  488.  
  489.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  490.             Debug-Output "MakeServicesEntry failed for video"
  491.             goto finish_InstallOption
  492.         endif
  493.  
  494.         ;
  495.         ;
  496.         ; then disable the previous video entry
  497.         ;
  498.  
  499.         ifstr(i) $(CurrentEntry) != $(MiniportDriver)
  500.             ifstr(i) $(CurrentEntry) != VGA
  501.                 ifstr(i) $(CurrentEntry) != ""
  502.                     shell "registry.inf" ModifyServicesEntry $(CurrentEntry) $(!SERVICE_DISABLED)
  503.  
  504.                     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  505.                         Debug-Output "Couldn't find DisableServicesEntry in registry.inf"
  506.                         goto errorconfig
  507.                     endif
  508.  
  509.                     ifstr(i) $($R0) != STATUS_SUCCESSFUL
  510.                         Debug-Output "DisableServices entry failed"
  511.                     endif
  512.                 endif
  513.             endif
  514.         endif
  515.  
  516.         goto configdone
  517.  
  518. errorconfig = +
  519.         ifstr(i) $(CurrentEntry) != $(MiniportDriver)
  520.             shell "registry.inf" ModifyServicesEntry $(MiniportDriver) $(!SERVICE_DISABLED)
  521.             ifstr(i) $(CurrentEntry) != ""
  522.                 shell "registry.inf" ModifyServicesEntry $(CurrentEntry) $(!SERVICE_SYSTEM_START)
  523.             endif
  524.         endif
  525.         goto finish_InstallOption
  526.  
  527. configdone = +
  528.  
  529.     endif
  530.  
  531.     set Status = STATUS_SUCCESSFUL
  532.  
  533. finish_InstallOption = +
  534.     ForListDo $(DrivesToFree)
  535.         LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE"
  536.     EndForListDo
  537.  
  538.     Return $(Status)
  539.  
  540.  
  541. [Install-AddCopyOption]
  542.  
  543.     set STF_VITAL = ""
  544.     ;
  545.     ; Add the files to the copy list
  546.     ;
  547.     AddSectionKeyFileToCopyList   Files-DisplayMiniportDrivers   +
  548.                                   $(MiniportDriver)              +
  549.                                   $(SrcDir)                      +
  550.                                   $(!STF_WINDOWSSYSPATH)\drivers
  551.  
  552.     ForListDo $(InstalledDisplays)
  553.         AddSectionKeyFileToCopyList   Files-DisplayDLLs          +
  554.                                       $($)                       +
  555.                                       $(SrcDir)                  +
  556.                                       $(!STF_WINDOWSSYSPATH)
  557.  
  558.     EndForListDo
  559.  
  560.     exit
  561.  
  562.  
  563. [Install-DoCopyOption]
  564.  
  565.     ;
  566.     ; Copy files in the copy list
  567.     ;
  568.     CopyFilesInCopyList
  569.     exit
  570.  
  571. ;**************************************************************************
  572. ; PROGRESS GAUGE VARIABLES
  573. ;**************************************************************************
  574.  
  575. [ProgressCopyENG]
  576.     ProCaption   = "Windows NT Setup"
  577.     ProCancel    = "Cancel"
  578.     ProCancelMsg = "Windows NT is not correcly installed.  Are you sure you want "+
  579.                    "to cancel copying files?"
  580.     ProCancelCap = "Setup Message"
  581.     ProText1     = "Copying:"
  582.     ProText2     = "To:"
  583.  
  584. [StringsENG]
  585.     String1 = "Display"
  586.     String2 = "Please enter the full path to the Cirrus Logic Accelerator "+
  587.               "Display driver files.  Then choose Continue."
  588.  
  589. ;-----------------------------------------------------------------------
  590. ; SOURCE MEDIA DESCRIPTIONS
  591. ; -------------------------
  592. ; The OEM should list all the diskette labels here.  The source media
  593. ; description is used during copy to prompt the user for a diskette
  594. ; if the source is diskettes.
  595. ;
  596. ; Use 1 = "Diskette 1 Label" , TAGFILE = disk1
  597. ;     2 = "Diskette 2 Label" , TAGFILE = disk2
  598. ;     ...
  599. ;-----------------------------------------------------------------------
  600.  
  601. ;--------------------------------------------------------------------
  602. ; THE SECTIONS BELOW SHOULD BE AUTOMATICALLY GENERATED BY THE EXCEL
  603. ; SPREAD SHEETS
  604. ;--------------------------------------------------------------------
  605.  
  606. [Source Media Descriptions]
  607.     1  = "CIRRUS LOGIC ACCELERATOR DRIVERS"  , TAGFILE = disk1
  608.  
  609. [Files-DisplayDLLs]
  610. clvga16 = 1,clvga16.dll , SIZE=999
  611. clblt256 = 1,clblt256.dll , SIZE=999
  612.  
  613. [Files-DisplayMiniportDrivers]
  614. cirrus2m = 1,cirrus2m.sys , SIZE=999
  615.